home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / share / automake-1.8 / missing < prev    next >
Encoding:
Text File  |  2005-10-16  |  10.4 KB  |  361 lines

  1. #! /bin/sh
  2. # Common stub for a few missing GNU programs while installing.
  3.  
  4. scriptversion=2003-09-02.23
  5.  
  6. # Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003 
  7. #   Free Software Foundation, Inc.
  8. # Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
  9.  
  10. # This program is free software; you can redistribute it and/or modify
  11. # it under the terms of the GNU General Public License as published by
  12. # the Free Software Foundation; either version 2, or (at your option)
  13. # any later version.
  14.  
  15. # This program is distributed in the hope that it will be useful,
  16. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  17. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  18. # GNU General Public License for more details.
  19.  
  20. # You should have received a copy of the GNU General Public License
  21. # along with this program; if not, write to the Free Software
  22. # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
  23. # 02111-1307, USA.
  24.  
  25. # As a special exception to the GNU General Public License, if you
  26. # distribute this file as part of a program that contains a
  27. # configuration script generated by Autoconf, you may include it under
  28. # the same distribution terms that you use for the rest of that program.
  29.  
  30. if test $# -eq 0; then
  31.   echo 1>&2 "Try \`$0 --help' for more information"
  32.   exit 1
  33. fi
  34.  
  35. run=:
  36.  
  37. # In the cases where this matters, `missing' is being run in the
  38. # srcdir already.
  39. if test -f configure.ac; then
  40.   configure_ac=configure.ac
  41. else
  42.   configure_ac=configure.in
  43. fi
  44.  
  45. msg="missing on your system"
  46.  
  47. case "$1" in
  48. --run)
  49.   # Try to run requested program, and just exit if it succeeds.
  50.   run=
  51.   shift
  52.   "$@" && exit 0
  53.   # Exit code 63 means version mismatch.  This often happens
  54.   # when the user try to use an ancient version of a tool on
  55.   # a file that requires a minimum version.  In this case we
  56.   # we should proceed has if the program had been absent, or
  57.   # if --run hadn't been passed.
  58.   if test $? = 63; then
  59.     run=:
  60.     msg="probably too old"
  61.   fi
  62.   ;;
  63. esac
  64.  
  65. # If it does not exist, or fails to run (possibly an outdated version),
  66. # try to emulate it.
  67. case "$1" in
  68.  
  69.   -h|--h|--he|--hel|--help)
  70.     echo "\
  71. $0 [OPTION]... PROGRAM [ARGUMENT]...
  72.  
  73. Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
  74. error status if there is no known handling for PROGRAM.
  75.  
  76. Options:
  77.   -h, --help      display this help and exit
  78.   -v, --version   output version information and exit
  79.   --run           try to run the given command, and emulate it if it fails
  80.  
  81. Supported PROGRAM values:
  82.   aclocal      touch file \`aclocal.m4'
  83.   autoconf     touch file \`configure'
  84.   autoheader   touch file \`config.h.in'
  85.   automake     touch all \`Makefile.in' files
  86.   bison        create \`y.tab.[ch]', if possible, from existing .[ch]
  87.   flex         create \`lex.yy.c', if possible, from existing .c
  88.   help2man     touch the output file
  89.   lex          create \`lex.yy.c', if possible, from existing .c
  90.   makeinfo     touch the output file
  91.   tar          try tar, gnutar, gtar, then tar without non-portable flags
  92.   yacc         create \`y.tab.[ch]', if possible, from existing .[ch]
  93.  
  94. Send bug reports to <bug-automake@gnu.org>."
  95.     ;;
  96.  
  97.   -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
  98.     echo "missing $scriptversion (GNU Automake)"
  99.     ;;
  100.  
  101.   -*)
  102.     echo 1>&2 "$0: Unknown \`$1' option"
  103.     echo 1>&2 "Try \`$0 --help' for more information"
  104.     exit 1
  105.     ;;
  106.  
  107.   aclocal*)
  108.     if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
  109.        # We have it, but it failed.
  110.        exit 1
  111.     fi
  112.  
  113.     echo 1>&2 "\
  114. WARNING: \`$1' is $msg.  You should only need it if
  115.          you modified \`acinclude.m4' or \`${configure_ac}'.  You might want
  116.          to install the \`Automake' and \`Perl' packages.  Grab them from
  117.          any GNU archive site."
  118.     touch aclocal.m4
  119.     ;;
  120.  
  121.   autoconf)
  122.     if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
  123.        # We have it, but it failed.
  124.        exit 1
  125.     fi
  126.  
  127.     echo 1>&2 "\
  128. WARNING: \`$1' is $msg.  You should only need it if
  129.          you modified \`${configure_ac}'.  You might want to install the
  130.          \`Autoconf' and \`GNU m4' packages.  Grab them from any GNU
  131.          archive site."
  132.     touch configure
  133.     ;;
  134.  
  135.   autoheader)
  136.     if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
  137.        # We have it, but it failed.
  138.        exit 1
  139.     fi
  140.  
  141.     echo 1>&2 "\
  142. WARNING: \`$1' is $msg.  You should only need it if
  143.          you modified \`acconfig.h' or \`${configure_ac}'.  You might want
  144.          to install the \`Autoconf' and \`GNU m4' packages.  Grab them
  145.          from any GNU archive site."
  146.     files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
  147.     test -z "$files" && files="config.h"
  148.     touch_files=
  149.     for f in $files; do
  150.       case "$f" in
  151.       *:*) touch_files="$touch_files "`echo "$f" |
  152.                        sed -e 's/^[^:]*://' -e 's/:.*//'`;;
  153.       *) touch_files="$touch_files $f.in";;
  154.       esac
  155.     done
  156.     touch $touch_files
  157.     ;;
  158.  
  159.   automake*)
  160.     if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
  161.        # We have it, but it failed.
  162.        exit 1
  163.     fi
  164.  
  165.     echo 1>&2 "\
  166. WARNING: \`$1' is $msg.  You should only need it if
  167.          you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
  168.          You might want to install the \`Automake' and \`Perl' packages.
  169.          Grab them from any GNU archive site."
  170.     find . -type f -name Makefile.am -print |
  171.        sed 's/\.am$/.in/' |
  172.        while read f; do touch "$f"; done
  173.     ;;
  174.  
  175.   autom4te)
  176.     if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
  177.        # We have it, but it failed.
  178.        exit 1
  179.     fi
  180.  
  181.     echo 1>&2 "\
  182. WARNING: \`$1' is needed, but is $msg.
  183.          You might have modified some files without having the
  184.          proper tools for further handling them.
  185.          You can get \`$1' as part of \`Autoconf' from any GNU
  186.          archive site."
  187.  
  188.     file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'`
  189.     test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'`
  190.     if test -f "$file"; then
  191.     touch $file
  192.     else
  193.     test -z "$file" || exec >$file
  194.     echo "#! /bin/sh"
  195.     echo "# Created by GNU Automake missing as a replacement of"
  196.     echo "#  $ $@"
  197.     echo "exit 0"
  198.     chmod +x $file
  199.     exit 1
  200.     fi
  201.     ;;
  202.  
  203.   bison|yacc)
  204.     echo 1>&2 "\
  205. WARNING: \`$1' $msg.  You should only need it if
  206.          you modified a \`.y' file.  You may need the \`Bison' package
  207.          in order for those modifications to take effect.  You can get
  208.          \`Bison' from any GNU archive site."
  209.     rm -f y.tab.c y.tab.h
  210.     if [ $# -ne 1 ]; then
  211.         eval LASTARG="\${$#}"
  212.     case "$LASTARG" in
  213.     *.y)
  214.         SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
  215.         if [ -f "$SRCFILE" ]; then
  216.              cp "$SRCFILE" y.tab.c
  217.         fi
  218.         SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
  219.         if [ -f "$SRCFILE" ]; then
  220.              cp "$SRCFILE" y.tab.h
  221.         fi
  222.       ;;
  223.     esac
  224.     fi
  225.     if [ ! -f y.tab.h ]; then
  226.     echo >y.tab.h
  227.     fi
  228.     if [ ! -f y.tab.c ]; then
  229.     echo 'main() { return 0; }' >y.tab.c
  230.     fi
  231.     ;;
  232.  
  233.   lex|flex)
  234.     echo 1>&2 "\
  235. WARNING: \`$1' is $msg.  You should only need it if
  236.          you modified a \`.l' file.  You may need the \`Flex' package
  237.          in order for those modifications to take effect.  You can get
  238.          \`Flex' from any GNU archive site."
  239.     rm -f lex.yy.c
  240.     if [ $# -ne 1 ]; then
  241.         eval LASTARG="\${$#}"
  242.     case "$LASTARG" in
  243.     *.l)
  244.         SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
  245.         if [ -f "$SRCFILE" ]; then
  246.              cp "$SRCFILE" lex.yy.c
  247.         fi
  248.       ;;
  249.     esac
  250.     fi
  251.     if [ ! -f lex.yy.c ]; then
  252.     echo 'main() { return 0; }' >lex.yy.c
  253.     fi
  254.     ;;
  255.  
  256.   help2man)
  257.     if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
  258.        # We have it, but it failed.
  259.        exit 1
  260.     fi
  261.  
  262.     echo 1>&2 "\
  263. WARNING: \`$1' is $msg.  You should only need it if
  264.      you modified a dependency of a manual page.  You may need the
  265.      \`Help2man' package in order for those modifications to take
  266.      effect.  You can get \`Help2man' from any GNU archive site."
  267.  
  268.     file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
  269.     if test -z "$file"; then
  270.     file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`
  271.     fi
  272.     if [ -f "$file" ]; then
  273.     touch $file
  274.     else
  275.     test -z "$file" || exec >$file
  276.     echo ".ab help2man is required to generate this page"
  277.     exit 1
  278.     fi
  279.     ;;
  280.  
  281.   makeinfo)
  282.     if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then
  283.        # We have makeinfo, but it failed.
  284.        exit 1
  285.     fi
  286.  
  287.     echo 1>&2 "\
  288. WARNING: \`$1' is $msg.  You should only need it if
  289.          you modified a \`.texi' or \`.texinfo' file, or any other file
  290.          indirectly affecting the aspect of the manual.  The spurious
  291.          call might also be the consequence of using a buggy \`make' (AIX,
  292.          DU, IRIX).  You might want to install the \`Texinfo' package or
  293.          the \`GNU make' package.  Grab either from any GNU archive site."
  294.     file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
  295.     if test -z "$file"; then
  296.       file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
  297.       file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file`
  298.     fi
  299.     touch $file
  300.     ;;
  301.  
  302.   tar)
  303.     shift
  304.     if test -n "$run"; then
  305.       echo 1>&2 "ERROR: \`tar' requires --run"
  306.       exit 1
  307.     fi
  308.  
  309.     # We have already tried tar in the generic part.
  310.     # Look for gnutar/gtar before invocation to avoid ugly error
  311.     # messages.
  312.     if (gnutar --version > /dev/null 2>&1); then
  313.        gnutar "$@" && exit 0
  314.     fi
  315.     if (gtar --version > /dev/null 2>&1); then
  316.        gtar "$@" && exit 0
  317.     fi
  318.     firstarg="$1"
  319.     if shift; then
  320.     case "$firstarg" in
  321.     *o*)
  322.         firstarg=`echo "$firstarg" | sed s/o//`
  323.         tar "$firstarg" "$@" && exit 0
  324.         ;;
  325.     esac
  326.     case "$firstarg" in
  327.     *h*)
  328.         firstarg=`echo "$firstarg" | sed s/h//`
  329.         tar "$firstarg" "$@" && exit 0
  330.         ;;
  331.     esac
  332.     fi
  333.  
  334.     echo 1>&2 "\
  335. WARNING: I can't seem to be able to run \`tar' with the given arguments.
  336.          You may want to install GNU tar or Free paxutils, or check the
  337.          command line arguments."
  338.     exit 1
  339.     ;;
  340.  
  341.   *)
  342.     echo 1>&2 "\
  343. WARNING: \`$1' is needed, and is $msg.
  344.          You might have modified some files without having the
  345.          proper tools for further handling them.  Check the \`README' file,
  346.          it often tells you about the needed prerequisites for installing
  347.          this package.  You may also peek at any GNU archive site, in case
  348.          some other package would contain this missing \`$1' program."
  349.     exit 1
  350.     ;;
  351. esac
  352.  
  353. exit 0
  354.  
  355. # Local variables:
  356. # eval: (add-hook 'write-file-hooks 'time-stamp)
  357. # time-stamp-start: "scriptversion="
  358. # time-stamp-format: "%:y-%02m-%02d.%02H"
  359. # time-stamp-end: "$"
  360. # End:
  361.